package com.todo.sight.application.iface.frontend.response;

import com.todo.common.common.enums.EnableTypeEnum;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import javax.validation.constraints.NotNull;
import java.math.BigDecimal;
import java.util.List;

/**
 * @author azhebuxing
 * @date 2024/5/8 21:46
 * @description
 */
@Data
public class SightSummaryVO {

    @Schema(title = "POI信息", description = "POI信息")
    private POIInfo poiInfo;

    @Schema(title = "景点基础信息", description = "景点基础信息")
    private SightInfo sightInfo;

    @Data
    public static class POIInfo {
        @Schema(title = "poiId", description = "poiId")
        private String poiId;
        /**
         * 名称
         */
        @NotNull
        @Schema(title = "名称", description = "名称")
        private String name;
        /**
         * 省份
         */
        @NotNull
        @Schema(title = "省份", description = "省份")
        private String province;
        /**
         * 城市
         */
        @Schema(title = "城市", description = "城市")
        private String city;
        /**
         * 具体地址
         */
        @Schema(title = "具体地址", description = "具体地址")
        private String address;
        /**
         * poi类型
         */
        @NotNull
        @Schema(title = "poi类型", description = "poi类型")
        private Integer poiType;

        /**
         * poi类型名称
         */
        @NotNull
        @Schema(title = "poi类型名称", description = "poi类型名称")
        private String poiTypeName;
        /**
         * 类型列表
         */
        @Schema(title = "类型列表", description = "类型列表")
        private List<String> typeList;
        /**
         * 经度
         */
        @NotNull
        @Schema(title = "经度", description = "经度")
        private BigDecimal lon;
        /**
         * 纬度
         */
        @NotNull
        @Schema(title = "纬度", description = "纬度")
        private BigDecimal lat;
    }

    @Data
    public static class SightInfo {

        @Schema(title = "景点主键", description = "景点主键")
        private String sightId;
        /**
         * 标题
         */
        @Schema(title = "标题", description = "标题")
        private String title;
        /**
         * 宣传口号
         */
        @Schema(title = "宣传口号", description = "宣传口号")
        private String slogan;
        /**
         * 评分
         */
        @Schema(title = "评分", description = "评分")
        private Integer score;
        /**
         * 热度
         */
        @Schema(title = "热度", description = "热度")
        private Integer hot;
        /**
         * 主图
         */
        @Schema(title = "主图", description = "主图")
        private String mainImg;
        /**
         * 是否营业
         */
        @Schema(title = "是否营业", description = "是否营业")
        private Integer isOpen;
    }
}
